#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

//定义栈的结构
typedef int STDataType;
typedef struct Stack
{
	STDataType* arr;
	int capacity; //栈的空间大小
	int top; //栈顶
}ST;

//栈的初始化
void STInit(ST* ps);

//判断栈是否为空
bool StackEmpty(ST* ps);

//入栈
void StackPush(ST* ps, STDataType x);

//出栈
void StackPop(ST* ps);

//取栈顶元素
STDataType StackTop(ST* ps);

//栈的销毁
void STDestroy(ST* ps);

//获取栈中有效元素个数
int STSize(ST* ps);
